package com.seata.demo.account.service;

import java.math.BigDecimal;

public interface AccountService {
    /**
     * 扣减账户余额（AT和XA模式）
     */
    void debit(String userId, BigDecimal money);
    
    /**
     * 恢复账户余额（Saga补偿）
     */
    void revert(String userId, BigDecimal money);
    
    // TCC模式方法
    boolean tryDebit(String userId, BigDecimal money);
    
    boolean confirmDebit(String userId, BigDecimal money);
    
    boolean cancelDebit(String userId, BigDecimal money);
}
